/*
 * 
 * Copyright (c) 2007-2013, University of California / Singapore Management University
 *   Lingxiao Jiang         <lxjiang@ucdavis.edu> <lxjiang@smu.edu.sg>
 *   Ghassan Misherghi      <ghassanm@ucdavis.edu>
 *   Zhendong Su            <su@ucdavis.edu>
 *   Stephane Glondu        <steph@glondu.net>
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of the University of California nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 */
"type_declaration",
"identifier",
"package_declaration",
//"import_declaration",
"modifier",
"type_list",
"class_declaration",
"super",
"interfaces",
"class_member_declaration",
"field_declaration",
"method_declaration",
"generic_method_declaration",
"enum_declaration",
"variable_declarator",
"block",
"this_or_super",
"extends_interfaces",
"local_variable_declaration",
"label_decl",
"statement",
"expression_statement",
"if_then_statement",
"if_then_else_statement",
"switch_statement",
"while_statement",
"do_statement",
"for_statement",
"finally",
"primary",
"dims",
"method_invocation",
"field_access",
"array_access",
"post_increment_expression",
"pre_increment_expression",
"post_decrement_expression",
"pre_increment_expression",
"unary_expression",
"cast_expression",
"multiplicative_expression",
"shift_expression",
"additive_expression",
"relational_expression",
"equality_expression",
"conditional_expression",
"assignment_expression",
"assignment",
"expression",
"PLUS_TK",
"MINUS_TK",
"MULT_TK",
"DIV_TK",
"REM_TK",
"LS_TK",
"SRS_TK",
"ZRS_TK",
"AND_TK",
"XOR_TK",
"OR_TK",
"BOOL_AND_TK",
"BOOL_OR_TK",
"EQ_TK",
"NEQ_TK",
"GT_TK",
"GTE_TK",
"LT_TK",
"LTE_TK",
"PLUS_ASSIGN_TK",
"MINUS_ASSIGN_TK",
"MULT_ASSIGN_TK",
"DIV_ASSIGN_TK",
"REM_ASSIGN_TK",
"LS_ASSIGN_TK",
"SRS_ASSIGN_TK",
"ZRS_ASSIGN_TK",
"AND_ASSIGN_TK",
"XOR_ASSIGN_TK",
"OR_ASSIGN_TK",
"PUBLIC_TK",
"PRIVATE_TK",
"PROTECTED_TK",
"STATIC_TK",
"FINAL_TK",
"SYNCHRONIZED_TK",
"VOLATILE_TK",
"TRANSIENT_TK",
"NATIVE_TK",
"PAD_TK",
"ABSTRACT_TK",
"STRICT_TK",
"DECR_TK",
"INCR_TK",
"DEFAULT_TK",
"IF_TK",
"THROW_TK",
"BOOLEAN_TK",
"DO_TK",
"IMPLEMENTS_TK",
"THROWS_TK",
"BREAK_TK",
//"IMPORT_TK",
"ELSE_TK",
"INSTANCEOF_TK",
"RETURN_TK",
"VOID_TK",
"CATCH_TK",
"INTERFACE_TK",
"CASE_TK",
"EXTENDS_TK",
"FINALLY_TK",
"SUPER_TK",
"WHILE_TK",
"CLASS_TK",
"SWITCH_TK",
"CONST_TK",
"TRY_TK",
"FOR_TK",
"NEW_TK",
"CONTINUE_TK",
"PACKAGE_TK",
"THIS_TK",
"ASSERT_TK",
"BYTE_TK",
"SHORT_TK",
"INT_TK",
"LONG_TK",
"CHAR_TK",
"FLOAT_TK",
"DOUBLE_TK",
"ENUM_TK",
"ID_TK",
"REL_QM_TK",
"REL_CL_TK",
"NOT_TK",
"NEG_TK",
"ASSIGN_TK",
"OSB_TK",
"CSB_TK",
"DOT_TK",
"STRING_LIT_TK",
"CHAR_LIT_TK",
"INT_LIT_TK",
"FP_LIT_TK",
"BOOL_LIT_TK",
"NULL_TK",
NULL
